// NestMiddleware中间件
import { Injectable, NestMiddleware } from '@nestjs/common';

// 获取参数的TS类型
import { Request, Response, NextFunction } from 'express';

@Injectable()
// implements：定义该类的类型
//  NestMiddleware中间件接口(类型)
export class LoggleMiddleware implements NestMiddleware {
  // 类似于axios的拦截器和router的路由守卫
  // req： 请求参数
  // res: 响应参数
  // next：是否通过，
  use(req: Request, res: Response, next: NextFunction) {
    console.log('中间件');
    console.log('req中间件', req.query);
    // res.send 指定通过中间件响应的数据
    // res.send('中间件响应数据');
    // throw new Error('Method not implemented.');
    next();
  }
}
